package entidades;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;

public class Pesquisa {

	private String dadosMatricula;
	private String observacao;
	private Timestamp data;
	private int jornada;
	private String nomeSemanaPesquisa;
	private String codigoOpcional;
	
	private Lote lote;
	private RegimeTrabalho regimeTrabalho;
	private CargaSemanal cargaSemanal;
	private Funcao funcao;
	private Collection<OcupacaoAuditoria> ocupacoes;

	/**
	 * 
	 */
	public Pesquisa() {
		super();
		this.dadosMatricula = "";
		this.observacao = "";
		this.data = new Timestamp(Calendar.getInstance().getTime().getTime());
		this.jornada = 0;		
		this.regimeTrabalho = new RegimeTrabalho();
		this.cargaSemanal = new CargaSemanal();
		this.funcao = new Funcao();
		this.ocupacoes = new ArrayList<OcupacaoAuditoria>();
		this.lote = new Lote();
	}

	/**
	 * @param dadosMatricula
	 * @param observacao
	 * @param codigoPesquisador
	 * @param data
	 * @param jornada
	 */
	public Pesquisa(String dadosMatricula, String observacao,
			Timestamp data, int jornada) {
		super();
		this.dadosMatricula = dadosMatricula;
		this.observacao = observacao;
		this.data = data;
		this.jornada = jornada;		
		this.regimeTrabalho = new RegimeTrabalho();
		this.cargaSemanal = new CargaSemanal();
		this.funcao = new Funcao();
		this.ocupacoes = new ArrayList<OcupacaoAuditoria>();
	}

	/**
	 * @param dadosMatricula
	 * @param observacao
	 * @param codigoPesquisador
	 * @param data
	 * @param jornada
	 * @param regimeTrabalho
	 * @param cargaSemanal
	 * @param funcao
	 * @param ocupacoes
	 */
	public Pesquisa(String dadosMatricula, String observacao,
			Timestamp data, int jornada, RegimeTrabalho regimeTrabalho, 
			CargaSemanal cargaSemanal, Funcao funcao, 
			Collection<OcupacaoAuditoria> ocupacoes) {
		super();
		this.dadosMatricula = dadosMatricula;
		this.observacao = observacao;		
		this.data = data;
		this.jornada = jornada;
		this.regimeTrabalho = regimeTrabalho;
		this.cargaSemanal = cargaSemanal;
		this.funcao = funcao;
		this.ocupacoes = ocupacoes;
	}

	/**
	 * @return the dadosMatricula
	 */
	public String getDadosMatricula() {
		return dadosMatricula;
	}

	/**
	 * @param dadosMatricula the dadosMatricula to set
	 */
	public void setDadosMatricula(String dadosMatricula) {
		this.dadosMatricula = dadosMatricula;
	}

	/**
	 * @return the observacao
	 */
	public String getObservacao() {
		return observacao;
	}

	/**
	 * @param observacao the observacao to set
	 */
	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	
	/**
	 * @return the data
	 */
	public Timestamp getData() {
		return data;
	}

	/**
	 * @param data the data to set
	 */
	public void setData(Timestamp data) {
		this.data = data;
	}

	/**
	 * @return the jornada
	 */
	public int getJornada() {
		return jornada;
	}

	/**
	 * @param jornada the jornada to set
	 */
	public void setJornada(int jornada) {
		this.jornada = jornada;
	}

	/**
	 * @return the regimeTrabalho
	 */
	public RegimeTrabalho getRegimeTrabalho() {
		return regimeTrabalho;
	}

	/**
	 * @param regimeTrabalho the regimeTrabalho to set
	 */
	public void setRegimeTrabalho(RegimeTrabalho regimeTrabalho) {
		this.regimeTrabalho = regimeTrabalho;
	}

	/**
	 * @return the cargaSemanal
	 */
	public CargaSemanal getCargaSemanal() {
		return cargaSemanal;
	}

	/**
	 * @param cargaSemanal the cargaSemanal to set
	 */
	public void setCargaSemanal(CargaSemanal cargaSemanal) {
		this.cargaSemanal = cargaSemanal;
	}

	/**
	 * @return the funcao
	 */
	public Funcao getFuncao() {
		return funcao;
	}

	/**
	 * @param funcao the funcao to set
	 */
	public void setFuncao(Funcao funcao) {
		this.funcao = funcao;
	}

	/**
	 * @return the ocupacoes
	 */
	public Collection<OcupacaoAuditoria> getOcupacoes() {
		return ocupacoes;
	}

	/**
	 * @param ocupacoes the ocupacoes to set
	 */
	public void setOcupacoes(Collection<OcupacaoAuditoria> ocupacoes) {
		this.ocupacoes = ocupacoes;
	}

	public Lote getLote() {
		return lote;
	}

	public void setLote(Lote lote) {
		this.lote = lote;
	}

	public String getCodigoOpcional() {
		return codigoOpcional;
	}

	public void setCodigoOpcional(String codigoOpcional) {
		this.codigoOpcional = codigoOpcional;
	}

	public String getNomeSemanaPesquisa() {
		return nomeSemanaPesquisa;
	}

	public void setNomeSemanaPesquisa(String nomeSemanaPesquisa) {
		this.nomeSemanaPesquisa = nomeSemanaPesquisa;
	}
	
	

}
